// Monster for KF Invasion gametype
// Man sized creature that sprints to close distance. 
class DKReaverBase extends SRMonster;

//#exec obj load file="..\Textures\SlavekZedsTx.utx"


var bool bRunning;
var float RunAttackTimeout;

var name MeleeAnims[4];


replication
{
	reliable if(Role == ROLE_Authority)
		bRunning;
}


//simulated function PlayDying(class<DamageType> DamageType, vector HitLoc)
simulated function PlayDyingAnimation(class<DamageType> DamageType, vector HitLoc)
{
	AmbientSound = None;
    bCanTeleport = false;
    bReplicateMovement = false;
    bTearOff = true;
    bPlayedDeath = true;

	HitDamageType = DamageType; // these are replicated to other clients
    TakeHitLocation = HitLoc;
	LifeSpan = RagdollLifeSpan;

    GotoState('Dying');

	Velocity += TearOffMomentum;
    BaseEyeHeight = Default.BaseEyeHeight;
    SetPhysics(PHYS_Falling);

    if ( (DamageType == class'KFProjectileWeaponDamageType')
		|| ((HitLoc.Z > Location.Z + 0.75 * CollisionHeight) && (FRand() > 0.5)
			/*&& (DamageType != class'DamTypeAssaultBullet') && (DamageType != class'DamTypeMinigunBullet')*/ && (DamageType != class'DamTypeFlakChunk')) )
    {
		PlayAnim('DeathFront2',1.0,0.5);
		CreateGib('head',DamageType,Rotation);
		return;
	}
	if ( Velocity.Z > 300 )
	{
		if ( FRand() < 0.5 )
			PlayAnim('DeathFront1',1.2,0.5);
		else
			PlayAnim('DeathRun',1.2,0.5);
		return;
	}
	PlayAnim(DeathAnim[Rand(3)],1.2,0.5);
}


//-------------------------------------------------------------------------------
// NOTE: All Code resides in the child class(this class was only created to
//         eliminate hitching caused by loading default properties during play)
//-------------------------------------------------------------------------------

defaultproperties
{
     MeleeAnims(0)="AttackL"
     MeleeAnims(1)="AttackR"
     MeleeAnims(2)="Slice"
     MeleeAnims(3)="Hack"
     HitAnims(0)="Walk"
     HitAnims(1)="Walk"
     HitAnims(2)="Walk"
     MoanVoice=Sound'slavekzedsnd.Reaver.ReaverSearching'
     KFHitFront="Walk"
     KFHitBack="Hit"
     KFHitLeft="Walk"
     KFHitRight="Walk"
     bCannibal=True
     MeleeDamage=7
     damageForce=-5000
     ZombieDamType(0)=Class'ZombieImpale'
     ZombieDamType(1)=Class'ZombieImpale'
     ZombieDamType(2)=Class'Zombiedecap'
     MeleeAttackHitSound=SoundGroup'KF_KatanaSnd.Katana_HitFlesh'
     JumpSound=SoundGroup'KF_EnemiesFinalSnd.GoreFast.Gorefast_Jump'
     CrispUpThreshhold=7
     bUseExtendedCollision=True
     ColOffset=(Z=52.000000)
     ColRadius=25.000000
     ColHeight=10.000000
     ExtCollAttachBoneName="Collision_Attach"
     SeveredArmAttachScale=0.900000
     SeveredLegAttachScale=0.900000
     HeadlessWalkAnims(0)="Walk"
     HeadlessWalkAnims(1)="Walk"
     HeadlessWalkAnims(2)="TurnL"
     HeadlessWalkAnims(3)="TurnR"
     BurningWalkFAnims(0)="Walk"
     BurningWalkFAnims(1)="Walk"
     BurningWalkFAnims(2)="Walk"
     BurningWalkAnims(0)="Walk"
     BurningWalkAnims(1)="TurnL"
     BurningWalkAnims(2)="TurnR"
     OnlineHeadshotOffset=(X=36.000000,Z=13.000000)
     OnlineHeadshotScale=1.500000
     MotionDetectorThreat=0.50
     DeathAnim(0)="DeathFront1"
     DeathAnim(1)="DeathFront2"
     DeathAnim(2)="DeathRun"
     DeathAnim(3)="DeathFront2"
     HitSound(0)=SoundGroup'KF_EnemiesFinalSnd.GoreFast.Gorefast_Pain'
     DeathSound(0)=SoundGroup'KF_EnemiesFinalSnd.GoreFast.Gorefast_Death'
     ChallengeSound(0)=SoundGroup'KF_EnemiesFinalSnd.GoreFast.Gorefast_Idle'
     ChallengeSound(1)=SoundGroup'KF_EnemiesFinalSnd.GoreFast.Gorefast_Talk'
     ChallengeSound(2)=Sound'slavekzedsnd.Reaver.ReaverAcquire'
     ScoringValue=20
     IdleHeavyAnim="Breath"
     IdleRifleAnim="Breath"
     MeleeRange=35.000000
     GroundSpeed=170.000000
     WaterSpeed=140.000000
     HealthMax=800.000000
     Health=800
	 HeadHealth=400.000000
	 PlayerNumHeadHealthScale=0.05
	 PlayerCountHealthScale=0.10
     HeadHeight=2.500000
     HeadScale=1.500000
     MenuName="Reaver"
     MovementAnims(0)="Walk"
     TurnLeftAnim="TurnL"
     TurnRightAnim="TurnR"
     SwimAnims(0)="Run"
     SwimAnims(1)="Run"
     SwimAnims(2)="Run"
     SwimAnims(3)="Run"
     WalkAnims(0)="Walk"
     WalkAnims(1)="Walk"
     WalkAnims(2)="StrafeL"
     WalkAnims(3)="StrafeR"
     AirAnims(0)="Leap"
     AirAnims(1)="Leap"
     AirAnims(2)="Leap"
     AirAnims(3)="Leap"
     TakeoffAnims(0)="Leapbegin"
     TakeoffAnims(1)="Leapbegin"
     TakeoffAnims(2)="Leapbegin"
     TakeoffAnims(3)="Leapbegin"
     DoubleJumpAnims(0)="Leapbegin"
     DoubleJumpAnims(1)="Leapbegin"
     DoubleJumpAnims(2)="Leapbegin"
     DoubleJumpAnims(3)="Leapbegin"
     DodgeAnims(0)="Hack"
     DodgeAnims(1)="Hack"
     DodgeAnims(2)="Hack"
     DodgeAnims(3)="Hack"
     AirStillAnim="Leapbegin"
     TakeoffStillAnim="Aware"
     IdleCrouchAnim="Breath"
     IdleSwimAnim="Run"
     IdleWeaponAnim="look"
     IdleRestAnim="Breath"
     Mesh=SkeletalMesh'SlavekZedse.SFReaver'
     DrawScale=2.000000
     PrePivot=(Z=2.000000)
     Skins(0)=Texture'SlavekZedsTx.Reavers.Reaver1sharp'
     Skins(1)=Texture'SlavekZedsTx.Reavers.Reaver2'
     Skins(2)=Texture'SlavekZedsTx.Reavers.Reaver3'
     Mass=350.000000
     RotationRate=(Yaw=45000,Roll=0)
}
